﻿using Microsoft.Extensions.DependencyInjection;
using System;
using System.Text.Json;

namespace A.M.RabbitMQ
{
    public static class RabbitMQInfor
    {
        public static void AddCapWithConfig(this IServiceCollection services)
        {
            string filePath = "appsettings.json"; // 配置文件路径（硬编码）

            // 读取 JSON 配置文件的内容
            string jsonString = File.ReadAllText(filePath);

            var GetConfig = "";

            // 使用 JsonDocument 解析 JSON 字符串
            using (JsonDocument document = JsonDocument.Parse(jsonString))
            {
                // 获取根元素
                JsonElement root = document.RootElement;

                // 获取 ConnectionStrings 节点下的 UserInforer 节点的值作为连接字符串
                GetConfig = root.GetProperty("ConnectionStrings").GetProperty("MySqlInfor").GetString();

            }


            //注入CAP
            services.AddCap(x =>
            {
                x.UseDashboard();
                x.UseMySql(GetConfig); // 使用 MySQL 数据
                x.UseRabbitMQ("10.31.59.5");
                x.UseRabbitMQ(x =>
                {
                    x.HostName = "10.31.59.5";
                    x.UserName = "admin";
                    x.Password = "admin";
                    x.Port = 5672;
                });
            });
        }
    }
}
